Using a Set Constraint Solver for Program Verification

نویسندگان

  • Maximiliano Cristiá
  • Gianfranco Rossi
  • Claudia Frydman
چکیده

{log} is a constraint solver for an expressive theory of finite unbounded sets and binary relations. It is a complete solver for an important fragment of formulas based on operators such as equality, membership, union, domain, composition, etc. where terms are finite unbounded extensional sets and binary relations. It is also a complete solver for formulas based on equality and membership where terms are extensional and restricted intensional sets. As such {log} can automatically prove a number of theorems of the theory of finite unbounded sets and relations. In turn, the theory of finite sets and relations is known to be a very good specification language for many programs. In this paper we show how {log} can be used as an effective tool for automatically discharging verification conditions produced during the formal functional verification of imperative programs. A case study shows the application of {log} to the verification of several list functions.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Side Channel Analysis Using a Model Counting Constraint Solver and Symbolic Execution (Invited Talk)

A crucial problem in software security is the detection of side-channels [5, 2, 7]. Information gained by observing non-functional properties of program executions (such as execution time or memory usage) can enable attackers to infer secret information (such as a password). In this talk, I will discuss how symbolic execution, combined with a model counting constraint solver, can be used for qu...

متن کامل

Building flexible yet efficient abstraction/refinement solvers

This paper describes a method for combining “off-the-shelf” SAT and constraint solvers for building an efficient Satisfiability Modulo Theories (SMT) solver for a wide range of theories. Our method follows the abstraction/refinement approach to simplify the implementation of custom SMT solvers. The expected performance penalty by not using an interweaved combination of SAT and theory solvers is...

متن کامل

Simulation of Strap-On Boosters Separation in the Atmosphere

A numerical dynamic-aerodynamic interface for simulating the separation dy­n­a­m­ic­s of co­n­­s­t­r­a­i­ned strap-on boosters jettisoned in the atmosphere is presented. A 6-DOF multi body dynamic solver ،using Constraint For­ce Equation Methodology is coupled with a numerical time dependent Euler flow solver. An automatic dyna­m­i­­c mesh updating proc­e­d­ure is employed using smoothing and l...

متن کامل

Extending a CP Solver with Congruences as Domains for Program Verification

Constraints generated for Program Verification tasks very often involve integer variables ranging on all the machine-representable integer values. Thus, if the propagation takes a time that is linear in the size of the domains, it will not reach a fix point in practical time. Indeed, the propagation time needed to reduce the interval domains for as simple equations as x = 2y + 1 and x = 2z is p...

متن کامل

An Incremental Approach to Scope-Bounded Checking Using a Lightweight Formal Method

We present a novel approach to optimize scope-bounded checking programs using a relational constraint solver. Given a program and its correctness specification, the traditional approach translates a bounded code segment of the entire program into a declarative formula and uses a constraint solver to search for any correctness violations. Scalability is a key issue with such approaches since for...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017